package com.iot.ammeter.constant;


/**
 * @ClassName: Constant
 * @Author: Basil
 * @Date: 2021/9/26 下午2:21
 * @Version: 1.0
 * @Description: 常量集
 **/
public interface Constant {

    interface Exception {
        //系统异常 -9999
        String ERROR = "-9999";
        String BUSINESS_EXCEPTIONS = "-90001";
    }

    interface Setting {
        String ELECTRICITY_PRICES = "electricity_prices";
    }

    interface Redis {
        //用户注册 验证码前缀
        String REGISTERED_WEB_USER = "registered_web_user";
        //用户重置密码 验证码前缀
        String RESET_PASSWORD = "reset_password";
        //用户注册 验证码浅醉
        String REGISTERED_APP_USER = "registered_app_user";
        //更换邮箱 验证码前缀
        String UPDATE_EMAIL = "update_email";
    }

    interface SendEmailTips {
        String INCORRECT_EMAIL_FORMAT = "邮箱格式有误";
        String THE_SENT_EMAIL_TYPE_IS_INCORRECT = "发送邮件类型有误";
        String SEND_CAPTCHA_ERROR = "验证码发送失败，请稍后重试";
        String SEND_CAPTCHA_SUCCESS = "邮件验证码已发送至： ";
    }

    interface UploadImageTips {
        String THE_FILE_IS_NULL = "文件为空";
        String THE_FILE_MAX = "文件最大支持： ";
        String IMAGE_FORMAT_ERROR = "图片格式错误";
        String IMAGE_TYPE_NOT_SUPPORT = "不支持该图片类型";
        String IMAGE_UPLOAD_FAILURE = "图片上传失败";

    }

    interface WebUser {

        /**
         * web用户状态：已删除
         */
        Integer WEB_USER_STATUS_DELETED = 1;
        /**
         * web用户状态：正常
         */
        Integer WEB_USER_STATUS_NORMAL = 0;
        /**
         * web用户状态：禁用
         */
        Integer WEB_USER_STATUS_DISABLED = 2;
        /**
         * 不是管理员
         */
        Integer WEB_USER_IS_NOT_ADMIN = 0;
        /**
         * 是管理员
         */
        Integer WEB_USER_IS_ADMIN = 1;
    }

    interface Campus {
        /**
         * 0表示 正常
         * 1表示 已删除
         * 2表示 禁用
         */
        Integer NORMAL = 0;
        Integer DELETED = 1;
        Integer DISABLE = 2;
    }

    interface Building {
        /**
         * 0表示 正常
         * 1表示 已删除
         * 2表示 禁用
         */
        Integer NORMAL = 0;
        Integer DELETED = 1;
        Integer DISABLE = 2;
    }

    interface Room {
        /**
         * 0闲置，1使用
         */
        Integer IDLE = 0;
        Integer USE = 1;
    }

    interface Provider {
        /**
         * 0表示 正常
         * 1表示 已删除
         * 2表示 禁用
         */
        Integer NORMAL = 0;
        Integer DELETED = 1;
        Integer DISABLE = 2;
    }

    interface Role {
        /**
         * 0表示 正常
         * 1表示 已删除
         * 2表示 禁用
         */
        Integer NORMAL = 0;
        Integer DELETED = 1;
        Integer DISABLE = 2;
    }

    interface RoleName {
        String ADMIN = "admin";
    }

    interface EquipmentModel {
        /**
         * 0表示 正常
         * 1表示 禁用
         */
        Integer NORMAL = 0;
        Integer DISABLE = 1;
    }

    interface EquipmentManagement {
        /**
         * 0表示离线，1表示在线，2表示报警
         */
        Integer OFF_LINE_STATUS = 0;
        Integer ON_LINE_STATUS = 1;
        Integer WARNING_STATUS = 1;
        /**
         * 1表示禁用，0表示未禁用
         */
        Integer IS_NO_ENABLE = 0;
        Integer IS_ENABLE = 1;
        /**
         * 1表示已关机，0表示开机
         */
        Integer IS_POWER_ON = 0;
        Integer IS_POWER_OFF = 1;
    }

    interface Menu {
        /**
         * 一级菜单
         */
        Integer LEVEL_1 = 1;
        Integer LEVEL_2 = 2;
        Integer LEVEL_3 = 3;
        Integer LEVEL_4 = 4;
        /**
         * 父级菜单id默认为0
         */
        String PARENT_ID = "0";
    }

    interface Email {
        /**
         * 1 表示注册邮件
         * 2 表示重置密码邮件
         * 3 表示更换邮箱
         */
        String REGISTERED = "1";
        String RESET = "2";
        String UPDATE = "3";
    }

    interface Img {
        /**
         * png 格式
         */
        String PNG = "image/png";
        /**
         * gif 格式
         */
        String GIF = "image/gif";
        /**
         * jpeg 格式
         */
        String JPEG = "image/jpeg";
        /**
         * 1:为logo
         */
        String LOGO = "1";
        /**
         * 2：为avatar
         */
        String AVATAR = "2";
    }


    interface TimeOfMilliSecond {
        /**
         * 时间：单位毫秒
         */
        Integer SECONDS = 1000;
        /**
         * 分钟
         */
        Integer MINUTE = SECONDS * 60;
        /**
         * 1小时
         */
        Integer HOURS_ONE = MINUTE * 60;
        /**
         * 2小时
         */
        Integer HOURS_TWO = HOURS_ONE * 2;
        /**
         * 12小时
         */
        Integer HOURS_TWELVE = HOURS_ONE * 12;
        /**
         * 1天
         */
        Integer DAY_ONE = HOURS_ONE * 24;
    }
}
